###Function###
HotKeySet

###Description###
Setzt einen HotKey, um eine selbsterstellte Funktion aufzurufen.

###Syntax###
HotKeySet ( "key" [, "function"] )


###Parameters###
@@ParamTable@@
key
	Die Tastenkombination fr den HotKey im <b>gleichen Format wie <a href="Send.htm">Send()</a>.</b>
function
	[optional] Der Name der aufzurufenden Funktion. Wird der Parameter nicht angegeben, wird der vorher gesetzte HotKey gelscht.
@@End@@

###ReturnValue###
@@ReturnTable@@
Erfolg:	1.
Fehler:	0.
@@End@@


###Remarks###
Es wird empfohlen Kleinbuchstaben (z.B. "b" und nicht "B") fr Hotkeys zu verwenden. Um Fehler bei einigen Tastaturlayouts zu vermeiden, bei dehnen Klein- & Grobuchstabe auf unterschiedlichen Tasten liegen.

Wenn zwei Skripte den gleichen HotKey (Tastenkombination) setzen, sollte man vermeiden, beide Skripte parallel auszufhren. Das zweite Skript kann den HotKey nicht abfangen, solange das erste Skript nicht beendet wurde oder den Hotkey freigegeben hat, bevor das zweite Skript diesen setzt. Verwenden die Skripts GUIs, so sollten GUISetAccelerators angedacht werden, da die Tasten nur aktiv sind wenn das zugehrige GUI aktiv ist.

Ein HotKey unterbricht "typischerweise" das aktive Autoit Skript und fhrt die angegebene Funktion bis zu deren Schluss aus, es sei denn, deren Ausfhrung wird ebenfalls unterbrochen.
Folgende Ausnahmen existieren:
1) Wenn die aktuelle Funktion eine "blockierende" Funktion ist (Tastenbettigungen werden unterdrckt), dann werden die Tastendrcke gepuffert und sofort nach der blockierenden Funktion ausgefhrt. <a href="MsgBox.htm">MsgBox()</a> und <a href="FileSelectFolder.htm">FileSelectFolder()</a> sind Beispiele fr blockierende Funktionen. Teste das Verhalten anhand des SHIFT+ALT+D Beispiels.
2) Wenn das Autoit Skript durch einen Klick auf das TrayIcon (Pause) pausiert wurde, werden alle HotKeys ignoriert.

<b>Folgende HotKeys knnen nicht genutzt werden:</b>

@@ParamTable@@
Strg+Alt+Entf
	Reserviert von Windows selbst
F12
	Ebenfalls durch Windows reserviert (API)
Ziffernblock Enter Taste
	Man sollte stattdessen {Enter} verwenden, da hierbei beide Enter-Tasten abgefangen werden.
Win+B,D,E,F,L,M,R,U; und Win+Shift+M
	Reserviert durch Windows 
	Anmerkung: Win+B und Win+L knnten nur bei Windows XP und hher reserviert sein.
Alt, Strg, Shift, Win
	Dies sind Modifizierungstasten
Weitere
	Jede globale Tastenkombination, die mit einer anderen Software definiert wurde, und jede Kombination aus Basistasten, wie '{F1}{F2}', sowie jede Form von '{LALT}' oder '{ALTDOWN}'.
@@End@@
	
Wenn ein Hotkey gesetzt ist, wird dieser Tastendruck abgefangen. Autoit wird ihn nicht an die aktive Anwendung weitergeben. Ausnahmen sind: (NumLock, CapsLock, und ScrollLock). Diese ndern ihren Status.

Um eine Tastenkombination mit <a href="Send.htm">Send()</a> zu senden, welche ein <a href="HotKeySet.htm">HotKeySet()</a> Ereignis auslsen wrde, ist <a href="ControlSend.htm">ControlSend()</a> zu verwenden oder das <a href="HotKeySet.htm">HotKeySet()</a> Ereignis vorher freizugeben, da ansonsten durch das <a href="Send.htm">Send()</a> Ereignis eine Endlosschleife entstehen knnte.

; Abfangen und Weitergeben von Tastendrcken
<i><a href="HotKeySet.htm">HotKeySet</a>("{Esc}","captureEsc")
Func captureEsc()
	; ... mach irgendwas
	<a href="HotKeySet.htm">HotKeySet</a>("{Esc}")
	<a href="Send.htm">Send</a>("{Esc}")
	<a href="HotKeySet.htm">HotKeySet</a>("{Esc}","captureEsc")
EndFunc
</i>

Der aufzurufenden Funktion knnen <b>keine</b> Parameter bergeben werden. Diese werden ignoriert.

Das @HotKeyPressed Makro kann innerhalb von Funktionen genutzt werden, um z.B. mehrere Tasten gleichzeitig zu verwalten.


###Related###
Send, GUISetAccelerators


###Example###
@@IncludeExample@@
